﻿<UserControl x:Class="GTServices.WPF.Client.Views.SearchRequestView"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             xmlns:controls ="clr-namespace:GTServices.WPF.Client.Controls"
             xmlns:wfi="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration"
             xmlns:diagnostics="clr-namespace:System.Diagnostics;assembly=WindowsBase"
             xmlns:cal="clr-namespace:Caliburn.Micro;assembly=Caliburn.Micro"
             mc:Ignorable="d">
    <DockPanel>
        <ListView ItemsSource="{Binding FileMatchs}" 
                  SelectedItem="{Binding SelectedMatchInfo}"
                  DockPanel.Dock="Left" 
                  HorizontalAlignment="Left">
            <ListView.ContextMenu>
                <ContextMenu>
                    <MenuItem Header="Remove" cal:Message.Attach="[Click]=[Remove]" />
                </ContextMenu>
            </ListView.ContextMenu>
            <ListView.View>
                <GridView>
                    <GridViewColumn Header="Pattern" Width="100" DisplayMemberBinding="{Binding Pattern.PatternStr}" />
                    <GridViewColumn Header="Line#" Width="100" DisplayMemberBinding="{Binding LineNumber}" />
                </GridView>
            </ListView.View>
        </ListView>
        <DockPanel DockPanel.Dock="Right">
            <DockPanel DockPanel.Dock="Right" Width="250" >
                <GroupBox Header="Notes" DockPanel.Dock="Bottom" Height="200">
                    <TextBox  TextWrapping="Wrap" Text="{Binding MatchInfo.Notes}" />
                </GroupBox>
                <TabControl DockPanel.Dock="Top">
                    <TabControl.Resources>
                        <!-- Default Control template slightly modified -->
                        <Style x:Key="TabItemFocusVisual">
                            <Setter Property="Control.Template">
                                <Setter.Value>
                                    <ControlTemplate>
                                        <Rectangle Margin="3,3,3,1"
                               StrokeThickness="1"
                               Stroke="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"
                               StrokeDashArray="1 2"
                               SnapsToDevicePixels="true"/>
                                    </ControlTemplate>
                                </Setter.Value>
                            </Setter>
                        </Style>




                        <LinearGradientBrush x:Key="TabItemHotBackground"
                         StartPoint="0,0"
                         EndPoint="0,1">
                            <LinearGradientBrush.GradientStops>
                                <GradientStop Color="#EAF6FD"
                          Offset="0.15"/>
                                <GradientStop Color="#D9F0FC"
                          Offset=".5"/>
                                <GradientStop Color="#BEE6FD"
                          Offset=".5"/>
                                <GradientStop Color="#A7D9F5"
                          Offset="1"/>
                            </LinearGradientBrush.GradientStops>
                        </LinearGradientBrush>
                        <SolidColorBrush x:Key="TabItemSelectedBackground"
                     Color="#F9F9F9"/>
                        <SolidColorBrush x:Key="TabItemDisabledBackground"
                     Color="#F4F4F4"/>
                        <SolidColorBrush x:Key="TabItemHotBorderBrush"
                     Color="#3C7FB1"/>
                        <SolidColorBrush x:Key="TabItemDisabledBorderBrush"
                     Color="#FFC9C7BA"/>
                        <Style TargetType="{x:Type TabItem}">
                            <Setter Property="Padding" Value="4" />

                            <Setter Property="Template">
                                <Setter.Value>
                                    <ControlTemplate TargetType="{x:Type TabItem}">
                                        <Grid SnapsToDevicePixels="true">
                                            <Border Name="Bd"
                                            Padding="{TemplateBinding Padding}"
                                            BorderBrush="{TemplateBinding BorderBrush}"
                                            Background="{TemplateBinding Background}"
                                            BorderThickness="1,1,1,0"
                                            CornerRadius="6,6,0,0"
                                            >
                                                <ContentPresenter Name="Content"
                                              ContentSource="Header"
                                              SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
                                              HorizontalAlignment="{Binding Path=HorizontalContentAlignment,RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"
                                              VerticalAlignment="{Binding Path=VerticalContentAlignment,RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"
                                              RecognizesAccessKey="True"/>
                                            </Border>
                                        </Grid>
                                        <ControlTemplate.Triggers>
                                            <Trigger Property="IsMouseOver"
                                 Value="true">
                                                <Setter TargetName="Bd"
                                    Property="Background"
                                    Value="{StaticResource TabItemHotBackground}"/>
                                            </Trigger>
                                            <Trigger Property="IsSelected"
                                 Value="true">
                                                <Setter Property="Panel.ZIndex"
                                    Value="1"/>
                                                <Setter TargetName="Bd"
                                    Property="Background"
                                    Value="{StaticResource TabItemSelectedBackground}"/>
                                            </Trigger>
                                            <MultiTrigger>
                                                <MultiTrigger.Conditions>
                                                    <Condition Property="IsSelected"
                                           Value="false"/>
                                                    <Condition Property="IsMouseOver"
                                           Value="true"/>
                                                </MultiTrigger.Conditions>
                                                <Setter TargetName="Bd"
                                    Property="BorderBrush"
                                    Value="{StaticResource TabItemHotBorderBrush}"/>
                                            </MultiTrigger>
                                            <Trigger Property="TabStripPlacement"
                                 Value="Bottom">
                                                <Setter TargetName="Bd"
                                    Property="BorderThickness"
                                    Value="1,0,1,1"/>
                                            </Trigger>
                                            <Trigger Property="TabStripPlacement"
                                 Value="Left">
                                                <Setter TargetName="Bd"
                                    Property="BorderThickness"
                                    Value="1,1,0,1"/>
                                            </Trigger>
                                            <Trigger Property="TabStripPlacement"
                                 Value="Right">
                                                <Setter TargetName="Bd"
                                    Property="BorderThickness"
                                    Value="0,1,1,1"/>
                                            </Trigger>
                                            <MultiTrigger>
                                                <MultiTrigger.Conditions>
                                                    <Condition Property="IsSelected"
                                           Value="true"/>
                                                    <Condition Property="TabStripPlacement"
                                           Value="Top"/>
                                                </MultiTrigger.Conditions>
                                                <Setter Property="Margin"
                                    Value="-2,-2,-2,-1"/>
                                                <Setter TargetName="Content"
                                    Property="Margin"
                                    Value="0,0,0,1"/>
                                            </MultiTrigger>
                                            <MultiTrigger>
                                                <MultiTrigger.Conditions>
                                                    <Condition Property="IsSelected"
                                           Value="true"/>
                                                    <Condition Property="TabStripPlacement"
                                           Value="Bottom"/>
                                                </MultiTrigger.Conditions>
                                                <Setter Property="Margin"
                                    Value="-2,-1,-2,-2"/>
                                                <Setter TargetName="Content"
                                    Property="Margin"
                                    Value="0,1,0,0"/>
                                            </MultiTrigger>
                                            <MultiTrigger>
                                                <MultiTrigger.Conditions>
                                                    <Condition Property="IsSelected"
                                           Value="true"/>
                                                    <Condition Property="TabStripPlacement"
                                           Value="Left"/>
                                                </MultiTrigger.Conditions>
                                                <Setter Property="Margin"
                                    Value="-2,-2,-1,-2"/>
                                                <Setter TargetName="Content"
                                    Property="Margin"
                                    Value="0,0,1,0"/>
                                            </MultiTrigger>
                                            <MultiTrigger>
                                                <MultiTrigger.Conditions>
                                                    <Condition Property="IsSelected"
                                           Value="true"/>
                                                    <Condition Property="TabStripPlacement"
                                           Value="Right"/>
                                                </MultiTrigger.Conditions>
                                                <Setter Property="Margin"
                                    Value="-1,-2,-2,-2"/>
                                                <Setter TargetName="Content"
                                    Property="Margin"
                                    Value="1,0,0,0"/>
                                            </MultiTrigger>
                                            <Trigger Property="IsEnabled"
                                 Value="false">
                                                <Setter TargetName="Bd"
                                    Property="Background"
                                    Value="{StaticResource TabItemDisabledBackground}"/>
                                                <Setter TargetName="Bd"
                                    Property="BorderBrush"
                                    Value="{StaticResource TabItemDisabledBorderBrush}"/>
                                                <Setter Property="Foreground"
                                    Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/>
                                            </Trigger>
                                        </ControlTemplate.Triggers>
                                    </ControlTemplate>
                                </Setter.Value>
                            </Setter>
                        </Style>
                    </TabControl.Resources>
                    <TabItem Header="Description">
                        <TextBox Text="{Binding Description, Mode=OneWay}" />
                    </TabItem>
                    <TabItem Header="Template">
                        <TextBox Text="{Binding Template, Mode=OneWay}" />
                    </TabItem>
                </TabControl>
            </DockPanel>
            <ContentControl cal:View.Model="{Binding Editor}" />
        </DockPanel>        
    </DockPanel>
</UserControl>
